home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
fish
/
726-750
/
745
/
arexxbox
/
history.txt
< prev
next >
Wrap
Text File
|
1995-03-18
|
8KB
|
196 lines
History of ARexxBox Releases
----------------------------
V0.99 erster Beta-Release
V0.99a FIXED: Argument- und Resultat-Liste konnte mit
ungültigem Kommando arbeiten -> Enforcer-Hit/Absturz.
(Report: RALF_KAISER@AWORLD)
V0.99b ENHANCED: GadToolsBox-Source fixed um den System Default
Font statt des Screenfonts für Layout und Gadgets zu
benutzen.
(Report: SYSOP@INSIDER [Garry Glendown])
V0.99c FIXED: Für Argumente wurde das Gleichheitszeichen
nicht zugelassen.
FIXED: Nach Änderung eines Argumentes oder
Resultates verbleibt die Anzeige auf diesem Element
statt (wie bisher) das letzte Listenelement
anzuzeigen.
FIXED: In den Font-Routinen war noch ein Fehler.
(Report: F.J.Reichert [F_J_REICHERT@SAARAG])
V0.99d FIXED: Alle Pointer-Conversions bereinigt. Der Code wird
jetzt selbst bei Compiler 'superscharf' völlig ohne
Warnings durchgezogen.
Pragma-#includes und _toupper() nun auch für SAS/C drin.
(Report: W_KUETING@HSP)
--- V0.99d wurde nicht verteilt! ---
V0.99e FIXED: Wenn _kein_ Resultatfeld belegt war, wurde ein
"out of memory"-Fehler erzeugt.
ENHANCED: ReplyRexxCmd() erzeugt nun die Variable RC2, sie
enthält den "Secondary Returncode", der in jeder
rxif-Struktur unter dem Namen rc2 steht. Diese
Variable kann z.B. benutzt werden, um detaillierte
Fehlercodes an das Rexxprogramm zurückzugeben.
Dieses Feature ist eine Erweiterung der Style-Guide-
Richtlinien, m.E. eine sinnvolle. Wenn jemand anderer
Ansicht ist, bitte Mail an mich!
RC2 wird nur erzeugt, wenn a) Resultate erwünscht sind und
b) RC != 0 ist. Das Feld rc2 kann sowohl einen Fehlercode
(long, default) als auch eine Fehlerbeschreibung (char *)
enthalten. Unterschieden wird anhand des Vorzeichens von rc,
d.h. rc < 0 <=> rc2 long bzw. rc > 0 <=> rc2 char *.
Negatives rc wird vor der Rückgabe nach positiv gewandelt.
Beispiel für FehlerCODE:
rd->rc = 10;
rd->rc2 = ERROR_OBJECT_NOT_FOUND;
Beispiel für FehlerSTRING:
rd->rc = -10;
rd->rc2 = (long) "Objekt nicht gefunden!";
Die Standard-Fehlerstrings sind _nicht_ lokalisiert. Wenn sich
C= mal bequemt, mir Infos und Werkzeuge dafür zu schicken,
werde ich das natürlich nachholen.
ENHANCED: SendRexxCommand() nimmt jetzt zur besseren
Unterstützung des Standardbefehls "RX" (zum Starten
von ARexx-Programmen) einen zusätzlichen Parameter,
ein FileHandle (BPTR!), der als Stdin/Stdout für das
Script eingesetzt wird. FreeRexxCommand() übernimmt das
Schließen des Kanals.
Außerdem liefert SendRexxCmd() nun die Adresse der abge-
schickten RexxMsg zurück (oder NULL wenn Fehler).
ENHANCED: Die RexxHost-Struktur hat jetzt ein zusätzliches
Feld namens "APTR userdata". Es kann z.B. benutzt werden, um
in einen RexxHost einen Zeiger auf eine eigene Projekt-
Verwaltungs-Struktur einzuhängen o.ä., um den Host ein-
deutig einem offenen Projekt zuzuordnen.
ENHANCED: Jeder Befehl hat jetzt ein globales "enabled"-
Flag, wenn dies gelöscht ist, verweigert der Dispatcher
die Ausführung des Befehls. Dieses Flag sollte mit den
Standard-ARexx-Befehlen (Style Guide) ENABLE und DISABLE
beeinflussbar sein (siehe rxif/*.c).
CHANGED: CommandShells benötigen jetzt einen eigenen
RexxHost auf dem sie alleine arbeiten können. D.h.
der dafür bereitgestellte Host DARF NICHT gleichzeitig
als normaler ARexx-Port benutzt werden. Eine abwechselnde
Benutzung als ARexx- und Cmd-Port ist denkbar, aber nicht
empfehlenswert...
ENHANCED: Damit einhergehend bekommt nun jede rxif-Funktion
den RexxHost des ARexx-Ports bzw. der CmdShell als
(ersten) Parameter (host) übergeben. Dadurch kann
die Funktion z.B. entscheiden, zu welchem Projekt der
Befehl ausgeführt werden soll.
ENHANCED: Ebenfalls damit einhergehend existiert jetzt zur
Unterstützung des Standardbefehls CMDSHELL in jedem
RexxHost ein Flag (ARB_HF_CMDSHELL), das anzeigt, ob der
Host gerade eine CommandShell fährt. Wenn dieses Flag
(durch CMDSHELL CLOSE) gelöscht wird, terminiert die ARexx-
Box die CommandShell.
FIXED: Aus Spaces oder nur aus Optionen bestehende
Argument- bzw. Resultatfeldnamen werden nicht mehr
akzeptiert.
CHANGED: Da einige rxif-Funktionen darauf zugreifen
müssen ist "struct rxs_command" und "rxs_commandlist"
nun im Headerfile definiert. Für den Zugriff auf die
Liste (finden eines Kommandos) ist eine neue Funktion
da:
struct rxs_command *FindRXCommand( char *name );
FIXED: Argumente mit '=' wurden nicht korrekt in
C-Variablennamen umgesetzt. Nun wird der letzte
Alias als Variablenname benutzt.
ENHANCED: Es gibt jetzt eine eigene Handlerfunktion
für dem Parser unbekannte Kommandos:
char *ExpandRXCommand( struct RexxHost *host,
char *commandline );
Diese wird aufgerufen, bevor der Parser "Not implemented"
als Fehler ausgibt. Wenn die Funktion NULL zurückgibt,
wird der Fehler ausgegeben, ansonsten versucht der
Parser, den zurückgegebenen String zu analysieren.
Diese Funktion kann z.B. die Expansion von Aliases
oder die Bearbeitung von Non-Standard-Kommandos über-
nehmen.
Achtung! Es wird erwartet, daß Expand() eigens
Speicher für den Resultatstring allokiert, dieser
wird von den ARB-Routinen dann freigegeben!
ENHANCED: Die Checks beim Generieren der Source-
Module sind jetzt sicherer. Es wird nun auch auf
Existenz des C- und H-Moduls geprüft.
NOTE: Als ich die vom Style Guide vorgeschlagenen
Standardkommandos eingab, sah ich, daß die Argumente
"VAR" und "STEM" an einer Stelle auch dazu benutzt
werden, die EINgabe der Funktion von den damit be-
nannten Variablen zu holen. Ich weiß nicht, ob das so
eine glückliche Wahl ist, da man auf diese Art&Weise
keine Resultate mehr haben kann. Besser wäre eine
andere Benennung, z.B. "FROMVAR" und "FROMSTEM".
Vorschläge?
Die ARB kümmert sich wenig um die bereits eingegebenen
Argumente, wenn Resultatfelder existieren, werden
VAR und STEM immer in das Template aufgenommen.
Allgemein sind einige Definitionen an der Stelle im
Style Guide sehr ungenau oder unzureichend. Ich habe
die Definition (sinnvoll) erweitert. Wer mit meinen
Änderungen nicht einverstanden ist, soll sich bitte
melden.
NOTE: Beim übernehmen alter Interface-Routinen daran
denken, daß ein neuer Parameter dazu gekommen ist!
FIXED: Numerische Resultate funktionieren jetzt.
V0.99f ENHANCED: Es werden zwei FileRequester verwendet,
einer für Binaries und einer für Sourcen. Die Patterns
bleiben nun erhalten und sind standardmässig mit #?
statt *.
(Report: Stefan Zeiger)
FIXED: Window-Topedge ist nun Fontsensitiv.
(Report: Stefan Zeiger)
V0.99g FIXED: Beim Parsen der Argumente wird nun der von
ReadArgs() erzeugte Fehlercode als rc2 benutzt.
CHANGED: Den Templates wird nun vor dem Parsen kein
\n mehr angehängt (unnötig).
CHANGED: Die ARexxBox benutzt nun den ASL-Filerequester.
(Wunsch: Garry Glendown [Sysop@Insider])
V1.00 ENHANCED: Source wird nun auch vom GCC fehlerfrei
und warnungsfrei übersetzt - naja, fast warnungsfrei.
Die verbleibenden Warnungen können aber getrost
ignoriert werden.
CHANGED: FindRXCommand() akzeptiert nur noch echte
Abkürzungen der vorhandenen Befehle.
--- ERSTER ÖFFENTLICHER RELEASE ---